#!/bin/bash

# 部署脚本
set -e

echo "开始部署打印广告系统..."

# 检查环境变量
if [ ! -f .env.production ]; then
    echo "错误: .env.production 文件不存在"
    exit 1
fi

# 加载环境变量
source .env.production

# 创建必要的目录
mkdir -p nginx/ssl
mkdir -p nginx/logs
mkdir -p backend/logs
mkdir -p backend/uploads

# 设置权限
chmod +x scripts/*.sh

# 构建前端
echo "构建前端应用..."
cd frontend
npm install
npm run build:h5
cd ..

# 复制前端构建文件
cp -r frontend/dist/* nginx/html/ 2>/dev/null || mkdir -p nginx/html

# 启动服务
echo "启动Docker服务..."
docker-compose down
docker-compose up -d --build

# 等待服务启动
echo "等待服务启动..."
sleep 30

# 检查服务状态
echo "检查服务状态..."
docker-compose ps

# 检查健康状态
echo "检查应用健康状态..."
curl -f http://localhost:3000/health || echo "后端服务未就绪"

echo "部署完成！"
echo "前端地址: https://$DOMAIN"
echo "API地址: https://api.$DOMAIN"
echo "请确保DNS解析和SSL证书配置正确"